-
-
Notifications
You must be signed in to change notification settings - Fork 354
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Make ScalaNativeModule use Scala 2.13 toolchain when available #1693
Conversation
- Drop Support for Scala Native 0.4.0 and 0.4.1
Now that Scala Native is using Scala 2.13 we can avoid using the null parent classloader since it can share the same scala-library with Mill
b6d9267
to
12d1585
Compare
Tested with Scala Native 0.4.1 and it fails with:
Given the very low usage of Scala Native + Mill I'd say this error is good enough, because you just need to follow the maven link to see that the first Also Scala Native 0.4.3 adds Scala 3 support so it is likely everyone will migrate to it very very soon. EditThe PR was edited to not drop the support for Scala Native 0.4.0 and 0.4.1 by crosscompiling the worker to both 2.12 and 2.13 versions. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As I'm not using Scala Native myself, I have no deep understanding how people are using it and how easy it is to upgrade. Are there any real issues for those still using Mill + SN 0.4.0 or 0.4.1 to just use 0.4.2 instead? Can they just bump and are good to go, or are there potential incompatibilities and required changes? Are they forced to also have all dependencies released for at least 0.4.2?
If there are no real hurdles for SN users to upgrade, than your PR is reasonable. Otherwise, we should consider introducing just a new second worker which is essentially what you provided here, and keep the old one for those forced to stay a bit longer with SN 0.4.{0,1}. I think the arguments to avoid loading another Scala version with comes at a time and memory costs sounds nice, but should not drive the decision, if there is also potential we loose some users.
And finally a note to myself: We should invite users to add theirself to some users list, so we have a better understanding how many users are using which features of mill. Unfortunately, as I can't access the Sonatype staging group, I can't see the download statistics for those artifacts.
16a419c
to
e9685e5
Compare
After reading your comment I added a commit that crosscompiles the worker and uses the Scala 2.12 one only with Scala Native 0.4.0 and 0.4.1. This way the change is non breaking anymore. If you like the changes it is ready to merge from my side. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks good to me. I appreciate the efforts you made to keep compatibility with SN 0.4.0.
I merged via merge commit, to preserve the result of having only one Scala 2.13 based worker. |
Motivation
ScalaJSModule